package net.dgg.dggcloud.service.jrcrm.entity.pro;

import net.dgg.dggcloud.service.entity.BaseEntity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Version;

/**
 * Created by Administrator on 2017/11/3.
 */
@Entity
@Table(name = "pro_product")
public class Product extends BaseEntity{

//    private Long id;

    /**
     * 产品编号
     */
    @Column(name="serial_num")
    private String serialNo; //产品编号
    /**
     * 一级类别
     */
    @Column
    private String type; //产品一级类别

    /**
     * 二级类别
     */
    @Column(name="class")
    private String proClass;

    /**
     * 产品级别
     */
    @Column(name="level")
    private String level;

    /**
     * 是否标件
     */
    @Column(name="is_standard")
    private String isStandard;

    /**
     * 渠道
     */
    @Column
    private String channel;

    /**
     * 产品名称
     */
    @Column
    private String name;

    /**
     * 贷款金额最小值
     */
    @Column(name="loan_amount_min")
    private Long loanAmountMin;

    /**
     * 贷款金额最大值
     */
    @Column(name="loan_amount_max")
    private Long loanAmountMax;

    /**
     * 贷款年限最小值
     */
    @Column(name="loan_life_min")
    private Float loanLifeMin;

    /**
     * 贷款年限最大值
     */
    @Column(name="loan_life_max")
    private Float loanLifeMax;

    /**
     * 贷款年限单位
     */
    @Column(name="loan_life_unit")
    private String loanLifeUnit;


    /**
     * 贷款利率最小值
     */
    @Column(name="loan_interest_rate_min")
    private Float loanInterestRateMin;

    /**
     * 贷款利率最大值
     */
    @Column(name="loan_interest_rate_max")
    private Float loanInterestRateMax;


    /**
     * 利率方式
     */
    @Column(name="interest_rate_mode")
    private String interestRateMode;

    /**
     * 放款周期最小值
     */
    @Column(name="loan_cycle_min")
    private Integer loanCycleMin;

    /**
     * 放款周期最大值
     */
    @Column(name="loan_cycle_max")
    private Integer loanCycleMax;

    /**
     * 放款周期单位
     */
    @Column(name="loan_cycle_unit")
    private String loanCycleUnit;

    /**
     * 还款方式
     */
    @Column(name="repayment_mode")
    private String repaymentMode;

    /**
     * 年龄要求下限
     */
    @Column(name="age_min")
    private Integer ageMin;

    /**
     * 年龄要求上限
     */
    @Column(name="age_max")
    private Integer ageMax;

    /**
     * 征信要求
     */
    @Column(name="credit_require")
    private String creditRequire;

    /**
     * 初始产品ID
     */
    @Column(name="initial_id")
    private Long initialId;

    /**
     * 版本号
     */
    @Column
    private Integer version;

    /**
     * 用于Hibernate乐观锁
     */
    @Version
    @Column(name="lock_version")
    private Long lockVersion;

    /**
     * 当前状态
     */
    @Column
    private Integer status; //待上架(2)、上架(1)、下架(3)，禁用(0)，删除(4)

    public String getSerialNo() {
        return serialNo;
    }

    public void setSerialNo(String serialNo) {
        this.serialNo = serialNo;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getProClass() {
        return proClass;
    }

    public void setProClass(String proClass) {
        this.proClass = proClass;
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    public String getIsStandard() {
        return isStandard;
    }

    public void setIsStandard(String isStandard) {
        this.isStandard = isStandard;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getLoanAmountMin() {
        return loanAmountMin;
    }

    public void setLoanAmountMin(Long loanAmountMin) {
        this.loanAmountMin = loanAmountMin;
    }

    public Long getLoanAmountMax() {
        return loanAmountMax;
    }

    public void setLoanAmountMax(Long loanAmountMax) {
        this.loanAmountMax = loanAmountMax;
    }

    public Float getLoanLifeMin() {
        return loanLifeMin;
    }

    public void setLoanLifeMin(Float loanLifeMin) {
        this.loanLifeMin = loanLifeMin;
    }

    public Float getLoanLifeMax() {
        return loanLifeMax;
    }

    public void setLoanLifeMax(Float loanLifeMax) {
        this.loanLifeMax = loanLifeMax;
    }

    public String getLoanLifeUnit() {
        return loanLifeUnit;
    }

    public void setLoanLifeUnit(String loanLifeUnit) {
        this.loanLifeUnit = loanLifeUnit;
    }

    public Float getLoanInterestRateMin() {
        return loanInterestRateMin;
    }

    public void setLoanInterestRateMin(Float loanInterestRateMin) {
        this.loanInterestRateMin = loanInterestRateMin;
    }

    public Float getLoanInterestRateMax() {
        return loanInterestRateMax;
    }

    public void setLoanInterestRateMax(Float loanInterestRateMax) {
        this.loanInterestRateMax = loanInterestRateMax;
    }

    public String getInterestRateMode() {
        return interestRateMode;
    }

    public void setInterestRateMode(String interestRateMode) {
        this.interestRateMode = interestRateMode;
    }

    public Integer getLoanCycleMin() {
        return loanCycleMin;
    }

    public void setLoanCycleMin(Integer loanCycleMin) {
        this.loanCycleMin = loanCycleMin;
    }

    public Integer getLoanCycleMax() {
        return loanCycleMax;
    }

    public void setLoanCycleMax(Integer loanCycleMax) {
        this.loanCycleMax = loanCycleMax;
    }

    public String getLoanCycleUnit() {
        return loanCycleUnit;
    }

    public void setLoanCycleUnit(String loanCycleUnit) {
        this.loanCycleUnit = loanCycleUnit;
    }

    public String getRepaymentMode() {
        return repaymentMode;
    }

    public void setRepaymentMode(String repaymentMode) {
        this.repaymentMode = repaymentMode;
    }

    public Integer getAgeMin() {
        return ageMin;
    }

    public void setAgeMin(Integer ageMin) {
        this.ageMin = ageMin;
    }

    public Integer getAgeMax() {
        return ageMax;
    }

    public void setAgeMax(Integer ageMax) {
        this.ageMax = ageMax;
    }

    public String getCreditRequire() {
        return creditRequire;
    }

    public void setCreditRequire(String creditRequire) {
        this.creditRequire = creditRequire;
    }

    public Long getInitialId() {
        return initialId;
    }

    public void setInitialId(Long initialId) {
        this.initialId = initialId;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getLockVersion() {
        return lockVersion;
    }

    public void setLockVersion(Long lockVersion) {
        this.lockVersion = lockVersion;
    }
}
